package com.gxar.quick.ar.server.db.model;

import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 兑换用户
 *
 * @author linsy
 * @version 1.0
 * @created 2024/2/18 09:54
 */
@Entity
@Getter
@Setter
@NoArgsConstructor
@Table(name = "exchange_item_user")
public class ExchangeItemUserEntity {

    /**
     * 兑换品ID
     */
    @Id
    private Long id;
    /**
     * 兑换品码
     */
    @Column(nullable = false)
    private String code;
    /**
     * 兑换品名称
     */
    @Column(nullable = false)
    private String name;
    /**
     * 兑换品介绍信息
     */
    @Column(nullable = false)
    private String introduction;
    /**
     * 兑换者手机号
     */
    @Column(nullable = false)
    private String phone;
    /**
     * 已兑换用户ID(兑换完成必填)
     */
    private Long userId;
    /**
     * 兑换完成
     */
    @Column(nullable = false)
    private Boolean exchanged;
    /**
     * 兑换品默认作品ID
     */
    private Long worksId;
    /**
     * 兑换品价格
     */
    @Column(nullable = false)
    private BigDecimal price;
    /**
     * 是否他人赠送
     * {@link com.gxar.quick.ar.server.base.common.enums.ExchangeItemGiftEnum}
     */
    @Column(nullable = false)
    private Integer gift;
    /**
     * 赠送人用户ID（他人赠送必填）
     */
    private Long giver;
    /**
     * 兑换时间
     */
    private Date exchangeAt;
    /**
     * 兑换方式
     */
    private Integer method;
    /**
     * 活动ID
     */
    private String activityId;
    /**
     * 活动是否有效
     */
    @Column(nullable = false)
    private Boolean activityEnable;
    /**
     * 奖品核销码
     */
    private String prizeHisId;
    /**
     * 创建时间
     */
    @Column(nullable = false)
    private Date createdAt;
    /**
     * 创建者
     */
    @Column(nullable = false)
    private String creator;
    /**
     * 更新时间
     */
    @Column(nullable = false)
    private Date updatedAt;
    /**
     * 更新者
     */
    private String operator;
    /**
     * 是否删除,0-否，1-是
     */
    private Boolean deleted;
}
